<?php

namespace Framework\Middleware;

use Framework\Session;

/**
 * 认证中间件类
 */
class Authorise {

    /**
     * 检查用户是否已经认证
     *
     * @return bool
     */
    public function isAuthenticated() {
        // 检查会话中是否有用户信息
        return Session::has('user');
    }

    /**
     * 处理用户的请求
     * 根据用户结社和认证状态进行适当的重定向
     *
     * @param $role
     * @return void|null
     */
    public function handle($role) {
        // 如果角色是 ‘guest’ 并且用户已经认证,重新定向到首页
        if ($role === 'guest' && $this->isAuthenticated()) {
            return redirect('/');
        }
        // 如果角色是 ‘auth’ 并且用户未认证，重定向到登录页面
        elseif ($role === 'auth' && !$this->isAuthenticated()) {
            return redirect('/auth/login');
        }

    }



}